import base64
import os
import uuid

#用户端上传图片需要把图片文件进行base64编码，然后发送到后端服务器，
#后端服务器拿到base64编码后，保存到本地文件夹，并返回图片的访问路径

# 保存base64图片数据到文件并返回访问路径
def saveBase64DataToImageFIle(base64Data):
    # 解码base64图片数据
    image_data = base64.b64decode(base64Data)

    # 使用 UUID 生成唯一的文件名
    image_filename = str(uuid.uuid4()) + ".jpg"  # 生成随机 UUID 作为文件名

    image_path = os.path.join(getProjectRoot(), "static", "image", image_filename)  # 拼接图片保存路径
    print(image_path)
    # 将图片保存到指定路径
    with open(image_path, "wb") as f:
        f.write(image_data)

    return 'http://127.0.0.1:5000/image/get/' + image_filename

#获取到项目的根目录
def getProjectRoot():
    # 获取当前文件的绝对路径
    current_file_path = os.path.abspath(__file__)

    # 获取当前文件所在的目录（即当前文件的父目录）
    current_directory = os.path.dirname(current_file_path)

    # 获取项目的根目录（即当前文件所在目录的父目录）
    project_root = os.path.dirname(current_directory)

    return project_root
